package org.gp.tringes;

import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;

public class GestorIGAnadirPerro{
	
	private static GestorIGAnadirPerro miGestorIGAnadirPerro = new GestorIGAnadirPerro();
	
	private GestorIGAnadirPerro(){}
	
	public static GestorIGAnadirPerro getGestorIGAnadirPerro(){
		return miGestorIGAnadirPerro;
	}
	
	public Boolean comprobarLongitudNumId(String pNumId){
    	if(pNumId.length() == 0 || pNumId.length() > 20){
    		return false;
    	}else{
    		return true;
    	}
    }
	
	public Boolean comprobarLongitudNombre(String pNombre){
    	if(pNombre.length() == 0 || pNombre.length() > 20){
    		return false;
    	}else{
    		return true;
    	}
    }
	
	public Boolean comprobarLongitudRaza(String pRaza){
    	if(pRaza.length() == 0 || pRaza.length() > 30){
    		return false;
    	}else{
    		return true;
    	}
    }
	
	public Boolean comprobarLongitudSexo(String pSexo){
    	if(pSexo.length() == 0 || pSexo.length() > 7){
    		return false;
    	}else{
    		return true;
    	}
    }
	
	public Boolean existePerro(String pNumPerro) throws SQLException{
		//Hacer un SELECT con pNombre. Si no hay resultados, continuamos devolviendo false. Si hay, devolvemos true
		ResultSet rs = GestorBD.getInstance().consulta("select * from perro where id='"+pNumPerro+"'");
		Boolean result = rs.next();
		GestorBD.getInstance().cerrarConsulta(rs);
		if(result){
			return true;
		}else{
			return false;
		}
	}
	
	public void insertarPerro(String pNumPerro, String pNombre, String pRaza, String pSexo) throws SQLException{
		
    	GestorBD.getInstance().insertar("insert into perro(id,nombre,raza,sexo,ocupado) values ('"+pNumPerro+"','"+pNombre+"','"+pRaza+"','"+pSexo+"',0)");
    	
	}
	
	public void asignarPerroADueno(String pNumFederado, String pNumPerro, Date pFecha) {
		try{
			GestorBD.getInstance().insertar("insert into pertenece(numDueno,idPerro,fechaIni,fechaFin) VALUES ('"+pNumFederado+"', '"+pNumPerro+"', '"+pFecha+"', NULL)");
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}
